6.3.3. Arama Listeleme İşlemi

Bağlantılı listede arama işlemi listelemeye benzer; farkı, düğüm içeriğini yazan fonksiyon çağrısı yerine bir if deyimi eklenmesidir. Belirli bir anahtar sözcük üzerinde arama yapılır; eğer aranan ile kayıt içerisinde ilgili alandaki değer aynı ise o düğümün adresi çağıran fonksiyona gönderilir.Fonksiyon-6.3.'de C kodu verilen arama fonksiyonuna aranan aktarılır, o da NULL veya bulduğu yerin adresini gönderir.

Fonksiyon-6.3. Bağlantılı listede arama ( tek yönlü)

/* Liste üzerinde arama */
BLISTE *ara(int aranan)
{
      BLISTE *p;
      p=ilk;

      while(p) {
      if(p->bilgi==aranan)           /* aranan mı ? */
      return p;                 /* evet ise adresini gönder */
      p=p->arka;              /* hayır ise bir sonrakine geç */
     }

   return NULL;               /* bulunamamış ise NULL gönder */

}